// miniprogram/pages/my/my.js
const db = wx.cloud.database()
const userInfo = db.collection('userInfo')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    myAllNote: [],
    avatarUrl: undefined,
    nickName: undefined,
    signature: undefined,
    latitude: undefined,
    longitude: undefined
  },
  // 转化经纬度
  toDegrees: function (val) {
    if (typeof (val) == "undefined" || val == "") {
      return "";
    }
    var i = val.indexOf('.');
    var strDu = i < 0 ? val : val.substring(0, i);//获取度
    var strFen = 0;
    var strMiao = 0;
    if (i > 0) {
      var strFen = "0" + val.substring(i);
      strFen = strFen * 60 + "";
      i = strFen.indexOf('.');
      if (i > 0) {
        strMiao = "0" + strFen.substring(i);
        strFen = strFen.substring(0, i);//获取分
        strMiao = strMiao * 60 + "";
        i = strMiao.indexOf('.');
        strMiao = strMiao.substring(0, i + 4);//取到小数点后面三位
        strMiao = parseFloat(strMiao).toFixed(2);//精确小数点后面两位
      }
    }
    return strDu + "°" + strFen + "'" + strMiao + "\"";    // 这里可以修改成你想要的格式例如你可以
  },
  // 获取用户信息
  getUserProfile: function () {
    // 获取用户经纬度
    wx.getFuzzyLocation({
      type: 'wgs84',
      success: (res) => {
        const latitude = this.toDegrees(res.latitude.toString())
        const longitude = this.toDegrees(res.longitude.toString())
        // 保存用户经纬度信息
        wx.setStorage({ key: "locationInfo", data: { latitude: latitude, longitude: longitude } })
        this.setData({ latitude, longitude })
      },
      fail: (err) => [
        console.log(err)
      ]
    })
    // wx.getLocation({
    //   type: 'wgs84',
    //   success: (res) => {
    //     const latitude = this.toDegrees(res.latitude.toString())
    //     const longitude = this.toDegrees(res.longitude.toString())
    //     // 保存用户经纬度信息
    //     wx.setStorage({ key: "locationInfo", data: { latitude: latitude, longitude: longitude } })
    //     this.setData({ latitude, longitude })
    //     // console.log(latitude, longitude)
    //   },
    //   fail(err) {
    //     console.log(err)
    //   }
    // })
    // 获取用户个人信息
    wx.getUserProfile({
      desc: '获取用户信息',
      success: (res) => {
        const { signature } = res
        const { avatarUrl, nickName } = res.userInfo
        userInfo.get().then(res => {
          if (!res.data.filter(item => item.nickName === nickName && item.avatarUrl === avatarUrl).length) {
            userInfo.add({
              data: { signature, nickName, avatarUrl, myAllNote: [] }
            })
          } else {
            this.setData({
              myAllNote: res.data[0].myAllNote
            })
          }
        })
        userInfo.where({ avatarUrl, nickName }).get().then(res => {
          const myAllNote = res.data[0].myAllNote
          this.setData({ myAllNote })
        })
        this.setData({ nickName, avatarUrl, signature })
        // 保存用户信息
        wx.setStorage({ key: "userInfo", data: { signature, nickName, avatarUrl } })
      }
    });

  },
  deleteNote: function (e) {
    const { time } = e.currentTarget.dataset
    const { nickName, avatarUrl } = this.data
    userInfo.where({ nickName, avatarUrl }).get().then((res) => {
      let myAllNote = res.data[0].myAllNote.filter((i) => i.time !== time)
      userInfo.where({ nickName, avatarUrl }).update({
        data: { myAllNote }
      }).then((res) => {
        wx.showToast({
          title: '删除成功',
          icon: 'success',
          duration: 2000
        })
      }, (err) => {
        wx.showToast({
          title: '删除失败',
          icon: 'fail',
          duration: 2000
        })
      })
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // wx.getFuzzyLocation({
    //   type: 'wgs84',
    //   success(res) {
    //     console.log(res)
    //   },
    //   fail: (err) => [
    //     console.log(err)
    //   ]
    // })
    // console.log("213")
    // 查看是否登录
    // wx.getStorage({
    //   key: "userInfo",
    //   success: (res) => {
    //     const { avatarUrl, nickName } = res.data
    //     console.log(nickName, avatarUrl)
    //   },
    //   fail: (err) => {
    //     console.log(err)
    //   }
    // })




    // userInfo.where({ signature }).get().then(res => {
    //   const myAllNote = res.data[0].myAllNote
    //   this.setData({
    //     myAllNote
    //   })
    // })
    // this.setData({
    //   myAllNote: [{
    //     id: 1,
    //     text: "凛冬将至，欧洲经历了一个不平静的周末",
    //     img: [{
    //       id: 1,
    //       url: "图片"
    //     }],
    //     time: "2022/9/19"
    //   }, {
    //     id: 2,
    //     text: "爆发抗议的8个城市中，首都维也纳约有两万人冒着恶劣天气坚持示威。现场示威者高举的横幅上，写着“我们要吃饭、要取暖、要生存”“降低物价”等标语，以表达对政府的不满。",
    //     img: [{
    //       id: 1,
    //       url: "图片"
    //     }],
    //     time: "2022/9/19"
    //   }, {
    //     id: 3,
    //     text: "由于紧随美国步伐制裁俄罗斯，欧洲经济正饱受冲击，抗议者把对俄制裁称为“自杀式的制裁”。随着寒冬临近，欧洲能源危机日渐加重，随之而来的是民众生活成本飙升和通胀高企等严峻问题。",
    //     img: [{
    //       id: 1,
    //       url: "图片"
    //     }],
    //     time: "2022/9/19"
    //   }, {
    //     id: 4,
    //     text: "对俄态度强硬的欧盟危机渐重，周围“邻居”都看不下去了。",
    //     img: [{
    //       id: 1,
    //       url: "图片"
    //     }],
    //     time: "2022/9/19"
    //   }, {
    //     id: 5,
    //     text: "不过，欧盟显然不太“听劝”。尽管抗议者高呼“最好的都给乌克兰了，只给我们剩两件毛衣”，但欧盟委员会主席冯德莱恩此前再度表示，会继续支持乌克兰，保持对俄的制裁压力。",
    //     img: [{
    //       id: 1,
    //       url: "图片"
    //     }],
    //     time: "2022/9/19"
    //   }, {
    //     id: 6,
    //     text: "美国财政部部长耶伦说，欧洲对俄罗斯能源禁运一旦全面生效，石油价格将再次大幅上涨。页岩油气企业对此表示无法立即增产，页岩油和页岩气都是如此。而随着供应收紧，今年冬天原油成本可能会升至每桶120美元以上。",
    //     img: [{
    //       id: 1,
    //       url: "图片"
    //     }],
    //     time: "2022/9/19"
    //   }]
    // })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    if (!this.data.signature) {
      wx.showToast({
        title: '请先登录',
        icon: 'error',
        duration: 2000
      })
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    const { avatarUrl, nickName } = this.data
    userInfo.where({ avatarUrl, nickName }).get().then(res => {
      const myAllNote = res.data[0].myAllNote
      this.setData({ myAllNote })
    }).then(() => {
      wx.stopPullDownRefresh()
    })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})